package org.abratuhi.kvngroupware.pubsub;

public interface Value<T> {
	
	public T getValue();
	//public T getMinTValue();
	//public T getMaxTValue();
	public Value<T> getMinValue();
	public Value<T> getMaxValue();
	public int compareTo(Value<T> anotherValue);
	public Value<T> add(Value<T> anotherValue);
	public Value<T> substract(Value<T> anotherValue);
	public Value<T> multiply(Integer c);
	public Value<T> divide(Integer c);
	public Value<T> multiply(Value<T> anotherValue);
	public Value<T> divide(Value<T> anotherValue);
	public Value<T> getMeanTo(Value<T> anotherValue);
	public String toString();

}
